Skip to content

Fix minimum version bound for ModelingToolkit#132

Merged
ChrisRackauckas merged 1 commit into
SciML:mainfrom
ChrisRackauckas-Claude:fix-min-versions-20251230-050120
Dec 30, 2025
Merged

Fix minimum version bound for ModelingToolkit#132
ChrisRackauckas merged 1 commit into
SciML:mainfrom
ChrisRackauckas-Claude:fix-min-versions-20251230-050120

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member

Summary

  • Fix minimum version bound for ModelingToolkit from 10 to 10.10

Problem

The package was specifying ModelingToolkit = "10" as the minimum version, but the code fails to load with ModelingToolkit versions prior to v10.10.0 due to changes in how ODESystem is exported:

  • v10.0.0-10.2.x: ODESystem is not exported at all
  • v10.3.0-10.9.x: ODESystem is exported as a function/alias, not a proper Type
  • v10.10.0+: ODESystem is a proper Type (IntermediateDeprecationSystem) that can be used in type annotations

The package uses ODESystem as a type annotation in function signatures (e.g., function get_deqs(sys::ODESystem)), which requires ODESystem to be a valid Type.

Changes

  • Updated Project.toml to require ModelingToolkit = "10.10"
  • Updated test/Project.toml to require ModelingToolkit = "10.10"

Test plan

  • Verified that the package fails to load with ModelingToolkit v10.0.0 (error: ODESystem not defined)
  • Verified that the package fails to load with ModelingToolkit v10.9.0 (error: invalid type for argument sys)
  • Verified that the package loads successfully with ModelingToolkit v10.10.0
  • Verified that all tests pass with ModelingToolkit v10.10.0
  • Verified that all tests pass with the current ModelingToolkit version after the bound update

CC: @ChrisRackauckas

🤖 Generated with Claude Code

The minimum version for ModelingToolkit was set to 10.0.0, but this
package requires at least 10.10.0. In earlier v10.x versions, ODESystem
was either not exported (v10.0.0-10.2.x) or was a function alias rather
than a proper Type (v10.3.0-10.9.x), which breaks the type annotations
used in this package (e.g., `sys::ODESystem`).

The issue was discovered by testing the package with minimum versions
of dependencies:
- v10.0.0-10.2.x: ODESystem not exported at all
- v10.3.0-10.9.x: ODESystem exported as a function, not a Type,
  causing "invalid type for argument sys" errors
- v10.10.0+: ODESystem is a proper Type (IntermediateDeprecationSystem)
  that can be used as a type annotation

Verified that all tests pass with ModelingToolkit v10.10.0.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@ChrisRackauckas
ChrisRackauckas merged commit c137361 into SciML:main Dec 30, 2025
5 of 7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants